# -*- coding: utf-8 -*-
"""\
Ptychographic reconstruction module.

TODO:
* Make stopping/restarting easier.
* Implement termination criterions.
* Refactor redundant parts of the code (plotting mostly)
* Implement regular dumps
* Add user-friendly routines (automatic report generation? command-line summaries?)
* [DONE] Maybe improve the saving routines to include metadata (documentation, ...)
* Add more matlab io.
* [IN PROGRESS] Implement "prepare_data_2d" to save in h5 format (+ conversion from existing mat files)
* Maybe implement Felipe Maia's new HDF5/nexus compatible format.
* Customized verbose instead of default pyE17
* Implement STXM analysis for initial object
* Implement padding for diffraction patterns (could reduce truncation effects
   in absorption)
* [MOSTLY DONE] Implement ePIE
* Ensure that all input parameters are correctly parsed and supported:
    - [DONE] probe support
    - [OBSOLETE] fftw switch
* [DONE - UNTESTED] Implement object regularization.
* Code refactoring:
    - Use objects
         e.g. "DataManager": instance that manages the raw data and returns handle to loop through it
              "Parallel": encapsulate the MPI information
    - Server-client interface for GUI connections
* Provide Log-likelihood calculation outside ML algorithm, as an alternative metric in DM and ePIE.
* Improve plotting (add text info)

=======
BUGS:
* [DONE] Correct the saving directory

Author: Pierre Thibault
Date July 5th 2010
"""

#from core import *
from core_object_modes import *
from data_tools import *
from ptyplot import *
